/*
 *    Copyright (c) 2018-2025, proj All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the proj developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: proj
 */

package com.ykht.proj.coupon.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 优惠券表
 *
 * @author proj code generator
 * @date 2020-11-16 17:00:20
 */
@Data
@TableName("cn_coupon")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "优惠券表")
public class CnCoupon extends Model<CnCoupon> {
private static final long serialVersionUID = 1L;

    /**
     * 
     */
    @TableId
    @ApiModelProperty(value="")
    private Long id;

	@ApiModelProperty(value="门店ID（创建 2单门店 的时候有值）")
	private Long shopId;
	/**
	 * 公司Id
	 */
	@ApiModelProperty(value="公司Id")
	private Long companyId;
    /**
     * 品牌Id
     */

    @ApiModelProperty(value="品牌Id")
    private Long brandId;
    /**
     * 优惠券名称
     */
    @ApiModelProperty(value="优惠券名称")
    private String name;
    /**
     * 优惠券类型0无门槛1满减
     */
    @ApiModelProperty(value="优惠券类型0无门槛1满减")
    private Integer couponType;
	/**
	 * 0领取后N天内有效1时间段
	 */
	@ApiModelProperty(value="0领取后N天内有效1时间段")
	private Integer dateType;
	/**
	 * 0通用券1多门店2单门店
	 */
	@ApiModelProperty(value="0通用券1多门店2单门店")
	private Integer type;
	/**
     * 最低消费金额
     */
    @ApiModelProperty(value="最低消费金额")
    private BigDecimal lowMoney;
    /**
     * 减免金额
     */
    @ApiModelProperty(value="减免金额")
    private BigDecimal reductionMoney;
    /**
     * 优惠券生效时间
     */
    @ApiModelProperty(value="优惠券生效时间")
    private LocalDateTime effectiveeStaTime;
    /**
     * 优惠券结束时间
     */
    @ApiModelProperty(value="优惠券结束时间")
    private LocalDateTime effectiveeEndTime;
    /**
     * 有效天数
     */
    @ApiModelProperty(value="有效天数")
    private Integer effectiveeDay;
    /**
     * 发放数量
     */
    @ApiModelProperty(value="发放数量")
    private Integer grantCount;
    /**
     * 核销码
     */
  /*  @ApiModelProperty(value="核销码")
    private String verificationCode;*/
	/**
	 * 核销门店Id
	 */
	/*@ApiModelProperty(value="核销门店Id")
	private Long writeoffShop;*/
    /**
     * 使用规则
     */
    @ApiModelProperty(value="使用规则")
	private String usageRules;
    /**
     * 0上架1下架
     */
    @ApiModelProperty(value="0上架1下架")
    private Integer status;
    /**
     * 创建人
     */
    @ApiModelProperty(value="创建人")
    private Long createUser;
    /**
     * 修改人
     */
    @ApiModelProperty(value="修改人")
    private Long updateUser;
    /**
     * 创建时间
     */
    @ApiModelProperty(value="创建时间")
    private LocalDateTime createTime;
    /**
     * 更新时间
     */
    @ApiModelProperty(value="更新时间")
    private LocalDateTime updateTime;
    /**
     * 0可用1删除
     */
    @ApiModelProperty(value="0可用1删除")
	@TableLogic
    private Integer delFlag;
    /**
     * 租户ID
     */
    @ApiModelProperty(value="租户ID",hidden=true)
    private Integer tenantId;
    }
